Researchers have attempted to increase the utility of computer systems by having them recognize speech. Current computer systems can run several application programs simultaneously and it is the expectation of the computer user that the computer system will have one microphone or sound input, but that speech recognition will be available for all of the currently running application programs.
One approach to provide speech recognition for all of the currently running application programs is to distribute the single sound input stream from the microphone to multiple speech recognizers, one speech recognizer for each application program. This requires some sort of distribution method, or the ability to rapidly cycle through all the speech recognizers as speech is arriving. Another problem is the large processing load which multiple speech recognizers will impose on a single computer system. Speech recognition has proven to be a computation intensive operation, especially for large vocabulary, continuous-speech, speaker-independent speech recognition. For these reasons, running multiple speech recognizers is difficult and undesirable.
Another approach to provide speech recognition for all of the currently running application programs is for the computer system to use a single speech recognizer for all the application programs. This approach has problems in determining how to have a single speech recognizer recognize words for all of the application programs, and how to direct a piece of recognized speech to the proper application program. This invention provides a way of efficiently determining the proper destination application program for recognized speech from a single speech recognizer operating for all application programs.